有一次我和我的大學同學在討論如何佈建環境,突然聊到 SSH 連線的部分,他說基本上都不使用預設的 SSH Port 號,來迴避有心人士的暴力破解。乍看之下似乎很安全。但是這是真的安全了嗎?
本章節要帶給大家的是『掃描』。如果說社交工程是序章,那掃描就是攻擊前的前戲,深入敵陣去探查系統的哪個環節是鬆動,進而在未來有效的利用。掃描工具繁多不及備載,而這一章提供的是一個萬眾矚目的工具,神器中的神器:NMAP 讓我們一同窺探 NMAP 的英姿 ~
NMAP 是個泛用的網路探索工具,某種程度也可以說是一種安全性的掃描工具!講白話一點就是個查水表的,挨家挨戶地去踹門,找出整個網段內的機器,各個 Port 是屬於哪種服務和版本、甚至連 OS 的版本(年齡、三圍)也能一一找出~ 當然 NMAP 的應用遠不止於此,Decoy Scan, DDOS ... 等等戲謔性的應用,令人垂涎。除此之外,偵測回來的結果可以轉成 XML 格式,並且可直接被 漏洞掃描工具 Nessus 和 漏洞利用工具 Metasploit 利用。
在開始貼上“指令”賺字數之前(噗哧),先讓我們小小的彙整一下耳熟能詳的掃描方式。讓大家有基本暸解,再去對應公式(指令),會有更透明的認知。
嘿嘿~ 指令表如下!如果各位有興趣了解各個 Parameter 的含義,除了利用 man nmap
或 nmap --help
也可以利用 這個網站 去頗析各個參數的定義。
# [Full Scan] 慢 (我認真的看了一下,預設的 nmap 是使用 SYN Scan 去測試 1000 最常用的 Port)
# 因此這邊暫時以 curl 代替,讀者也可自行換成 wget
curl 192.168.1.1
# [Stealth Scan] 很速喔! 是一般來說預設的掃描方式 利用不完整的三方交握快速掃瞄機器的端口
nmap -sS 192.168.1.1
# [Inverse TCP Flag] 利用TCP機制中:當封包為含有SYN, RST, 或 ACK標頭時,會直接回傳RST
# 這個方式一度非常有效的迴避掉IDS(入侵偵測系統)的篩選
# --
# Null Scan := TCP 標頭沒有任何值為 1
nmap -sN 192.168.1.1
# FIN scan := 只有 FIN 標頭為 1
nmap -sF 192.168.1.1
# Xmas scan := FIN, PSH, URG 值均為 1
# 因為全部不重要的標頭都為 1 很像聖誕樹,顧名思義。。。工程師的浪慢
nmap -sX 192.168.1.1
# [ACK Prob] 這算是一種反向操作,用來偵察是否有防火牆阻擋。
# 如果沒有防火牆的系統 Open/Close 端口 都會回傳 RST 反之則有防火牆的庇護
nmap -sA 192.168.1.1
# [Idle Scan] 是一種利用跳板去偵測目標的掃描方式,前提是這個跳板必須沒有任何流量。。。
# 也因此,有點不實際,不過是個有趣的掃描方式 細節可參閱官網: https://nmap.org/book/idlescan.html
# 192.168.1.10 為跳板
# 192.168.1.1 為標的
nmap -sI 192.168.1.10 192.168.1.1
# [UDP Scan] 多數的服務都是利用 TCP 來傳輸,不過大家熟知的 DNS, SNMP, DHCP 都是建築在 UDP 之上
# 雖然掃描的時間相較於 TCP 較為更久些,不過 UDP 被利用的狀況卻不少於 TCP 唷 ~
nmap -sU 192.168.1.1
# [SSDP Scan] 這個部分是針對 UPnP(Universal Plug and Play) 進行掃描
# UPnP 的應用很多 印表機 BT 或是 IP Camera (不確定 IoT 是否有在這個範疇)
# 然而該網路機制也存在很多漏洞(著名的 Buffer Overflow)也因此有這項掃描
nmap --script upnp-info.nse -p 1900 -sU 192.168.1.1
nmap --script upnp-info -p 1900 -sU 192.168.1.1
# [List Scan] 這個指令是 nslookup 的反向操作,利用 DNS 反查 IP 的方式,來篩選標的是否上線
nmap -sL 192.168.1.1
這一章節也在指令中的鋪成下進入了尾聲,希望大家有個小小的認知,不要再以為說 Port 只有自己能看到,OS 以及各個服務等資訊不會被查出。下個章節,稍稍的躍步向前,想像!針對掃描其實是有防禦手段的,但是真的攻擊者就會因此卻步嗎?稍稍歇個腳,我們明天見!